package com.linx.web.controller;

import cn.dev33.satoken.annotation.SaIgnore;
import com.linx.common.core.config.LinxConfig;
import com.linx.common.core.utils.StringUtils;
import com.linx.common.core.utils.UniqueNumberGenerator;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 编号
 */
@SaIgnore
@RequiredArgsConstructor
@RestController
public class CodeController {

    /**
     * 获取编号
     */
    @GetMapping("/get-code")
    public String getCode(String prefix) {
        if("device".equals(prefix)) {    // 设备编号
            return UniqueNumberGenerator.generateUniqueNumber("DV", 3);
        } else if("meeting-room".equals(prefix)) {  // 会议室编号
            return UniqueNumberGenerator.generateUniqueNumber("MR", 3);
        } else if("product".equals(prefix)) {    // 产品编号
            return UniqueNumberGenerator.generateUniqueNumber("PR", 3);
        } else if("order".equals(prefix)) {    // 订单编号
            return UniqueNumberGenerator.generateUniqueNumber("OR", 3);
        } else if("customer".equals(prefix)) {    // 客户编号
            return UniqueNumberGenerator.generateUniqueNumber("CU", 3);
        } else if("supplier".equals(prefix)) {    // 供应商编号
            return UniqueNumberGenerator.generateUniqueNumber("SU", 3);
        } else if("warehouse".equals(prefix)) {    // 仓库编号
            return UniqueNumberGenerator.generateUniqueNumber("WH", 3);
        } else if("employee".equals(prefix)) {    // 员工编号
            return UniqueNumberGenerator.generateUniqueNumber("EM", 3);
        } else if("role".equals(prefix)) {    // 角色编号
            return UniqueNumberGenerator.generateUniqueNumber("RL", 3);
        } else if("permission".equals(prefix)) {    // 权限编号
            return UniqueNumberGenerator.generateUniqueNumber("PT", 3);
        } else if("menu".equals(prefix)) {    // 菜单编号
            return UniqueNumberGenerator.generateUniqueNumber("MN", 3);
        } else if("dict".equals(prefix)) {    // 字典编号
            return UniqueNumberGenerator.generateUniqueNumber("DT", 3);
        } else if("event".equals(prefix)) {    // 事件
            return UniqueNumberGenerator.generateUniqueNumber("EV", 3);
        }

        return null;
    }

}
